package jdbc_05;
import jdbc_01.Conexion;

public class CallableStatementDele {
    
    private Conexion con;
    private java.sql.Statement stmt;
    private javax.swing.JTextArea jta = new javax.swing.JTextArea(10, 35);
    
    public CallableStatementDele() {
        Conexion.driverOdbc();
        con = new Conexion("empleados", "empleados", "empleados");
        if (con.abrirConexion()) {
            eliminarProcedures();
            eliminarFunciones();
            con.cerrarConexion();
            javax.swing.JOptionPane.showMessageDialog(null,
                                    new javax.swing.JScrollPane(jta));
        }
    }

    void eliminarProcedures() {
        String insDepto = "drop procedure ins_depto";
        ejecutar(insDepto);
        jta.append("procedure ins_depto eliminada");
        
        String verProye = "drop procedure ver_proyectos";
        ejecutar(verProye);
        jta.append("\nprocedure ver_proyectos eliminada");
        
        String totalProye = "drop procedure total_proyectos";
	ejecutar(totalProye);
        jta.append("\nprocedure total_proyectos eliminada");
        
        String parcialProye = "drop procedure parcial_proyectos";
	ejecutar(parcialProye);
        jta.append("\nprocedure parcial_proyectos eliminada");
        
        String cantProye = "drop procedure cantidad_proyectos";
	ejecutar(cantProye); 
        jta.append("\nprocedure cantidad_proyectos eliminada");
    }
    
    void eliminarFunciones() {
        String totalProye = "drop function fn_total_proyectos";

	ejecutar(totalProye);
        jta.append("\nfunction fn_total_proyectos eliminada");
        
        String parcialProye = "drop function fn_parcial_proyectos";
	ejecutar(parcialProye);        
        jta.append("\nfunction fn_parcial_proyectos eliminada");
    }        
    
    void ejecutar(String sentencia) {
        try {
            stmt = con.getCon().createStatement();
            stmt.execute(sentencia);
            stmt.close();
        }
        catch( java.sql.SQLException e ) {
                jta.append("\n" + e.getMessage() );
        }
    }

    public static void main(String[] args) {
        new CallableStatementDele();
        System.exit(0);
    }    
}
